package com.huatai.model.dubbo;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.huatai.model.entity.Model;
import com.huatai.model.entity.ModelQuery;
import com.huatai.model.entity.FileInfo;

public interface ModelDubboApi {

	//根据ID查询模型信息
	Model getModelById(Long id);

	/**
	 * 获取模型列表
	 */

	IPage<Model> modelPage(ModelQuery query);

	/**
	 * 获取模型文件分片数量
	 * @param fileUrl
	 * @return
	 */
	Integer getModelFilePartNums(String fileUrl);

	/**
	 * 获取模型文件总大小
	 * @param fileUrl
	 * @return
	 */
	Long getModelFileTotalSize(String fileUrl);

	/**
	 * 根据分片索引下载模型文件
	 * @param fileUrl
	 * @param partIndex
	 */
	void download(String fileUrl,int partIndex);
	void download(String fileUrl);

	/**
	 * 根据偏移量和大小下载模型文件
	 * @param fileUrl
	 * @param offset 偏移量
	 * @param length 大小
	 */
	void download(String fileUrl,Long offset,Long length);

	/**
	 * 获取文件信息
	 * @param fileUrl
	 * @return
	 */
	FileInfo getFileInfo(String fileUrl);


}
